Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Core
Public Sub ApplyVoiLookupTableConstructorExample()
Dim codecs As New RasterCodecs()
codecs.ThrowExceptionsOnInvalidImages = True
Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE2.dcm"))
' Prepare the command
Dim i As Integer
Dim pLookupTable() As Short
ReDim pLookupTable(65536)
Dim LookupTableDescriptor As DicomLookupTableDescriptor = New DicomLookupTableDescriptor
For i = 0 To 65536
If (i < 30) Then
pLookupTable(i) = 0
Else
If (i > 630) Then
pLookupTable(i) = 630
Else
pLookupTable(i) = CType(i, Int16)
End If
End If
Next
' fill the LookupTableDescriptor object
LookupTableDescriptor.FirstStoredPixelValueMapped = 0
LookupTableDescriptor.EntryBits = 16
Dim command As ApplyVoiLookupTableCommand = New ApplyVoiLookupTableCommand(LookupTableDescriptor, pLookupTable, VoiLookupTableCommandFlags.None)
command.Run(leadImage)
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
public void ApplyVoiLookupTableConstructorExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE2.dcm"));
// Prepare the command
int i;
short[] pLookupTable = new short[0x10000];
DicomLookupTableDescriptor LookupTableDescriptor = new DicomLookupTableDescriptor();
for(i = 0; i < 0x10000; i++)
{
if(i < 30)
{
pLookupTable[i] = 0;
}
else
if(i > 630)
pLookupTable[i] = 630;
else
pLookupTable[i] = (short)i;
}
// Fill the LookupTableDescriptor object
LookupTableDescriptor.FirstStoredPixelValueMapped = 0;
LookupTableDescriptor.EntryBits = 16;
ApplyVoiLookupTableCommand command = new ApplyVoiLookupTableCommand(LookupTableDescriptor, pLookupTable, VoiLookupTableCommandFlags.None);
command.Run(image);
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
function ApplyVoiLookupTableConstructorExample()
{
var codecs = new Leadtools.Codecs.RasterCodecs();
codecs.throwExceptionsOnInvalidImages = true;
// Load the image
var srcFileName = "Assets\\Image2.dcm";
return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
return codecs.loadAsync(Leadtools.LeadStreamFactory.create(loadFile));
}).then(function (image){
// Prepare the command
with (Leadtools.ImageProcessing.Core) {
// Prepare the command
var i;
var pLookupTable = new Array();;
var LookupTableDescriptor = new DicomLookupTableDescriptor();
for(i = 0; i < 0x10000; i++)
{
if(i < 30)
{
pLookupTable[i] = 0;
}
else
if(i > 630)
pLookupTable[i] = 630;
else
pLookupTable[i] = parseInt(i);
}
// fill the LookupTableDescriptor object
LookupTableDescriptor.firstStoredPixelValueMapped = 0;
LookupTableDescriptor.entryBits = 16;
var command = new ApplyVoiLookupTableCommand(LookupTableDescriptor, pLookupTable, VoiLookupTableCommandFlags.None);
command.run(image);
}
});
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
public async Task ApplyVoiLookupTableConstructorExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
// Load the image
string srcFileName = @"Assets\Image2.dcm";
StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));
// Prepare the command
int i;
short[] pLookupTable = new short[0x10000];
DicomLookupTableDescriptor LookupTableDescriptor = new DicomLookupTableDescriptor();
for(i = 0; i < 0x10000; i++)
{
if(i < 30)
{
pLookupTable[i] = 0;
}
else
if(i > 630)
pLookupTable[i] = 630;
else
pLookupTable[i] = (short)i;
}
// Fill the LookupTableDescriptor object
LookupTableDescriptor.FirstStoredPixelValueMapped = 0;
LookupTableDescriptor.EntryBits = 16;
ApplyVoiLookupTableCommand command = new ApplyVoiLookupTableCommand(LookupTableDescriptor, pLookupTable, VoiLookupTableCommandFlags.None);
command.Run(image);
}
using Leadtools;
using Leadtools.Examples;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
public void ApplyVoiLookupTableConstructorExample(RasterImage image, Stream outStream)
{
// Prepare the command
int i;
short[] pLookupTable = new short[0x10000];
DicomLookupTableDescriptor LookupTableDescriptor = new DicomLookupTableDescriptor();
for(i = 0; i < 0x10000; i++)
{
if(i < 30)
{
pLookupTable[i] = 0;
}
else
if(i > 630)
pLookupTable[i] = 630;
else
pLookupTable[i] = (short)i;
}
// Fill the LookupTableDescriptor object
LookupTableDescriptor.FirstStoredPixelValueMapped = 0;
LookupTableDescriptor.EntryBits = 16;
ApplyVoiLookupTableCommand command = new ApplyVoiLookupTableCommand(LookupTableDescriptor, pLookupTable, VoiLookupTableCommandFlags.None);
command.Run(image);
// Save result image
RasterCodecs codecs = new RasterCodecs();
codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24);
image.Dispose();
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Core
Public Sub ApplyVoiLookupTableConstructorExample(ByVal image As RasterImage, ByVal outStream As Stream)
' Prepare the command
Dim i As Integer
Dim pLookupTable As Short() = New Short(&H10000 - 1){}
Dim LookupTableDescriptor As DicomLookupTableDescriptor = New DicomLookupTableDescriptor()
i = 0
Do While i < &H10000
If i < 30 Then
pLookupTable(i) = 0
Else
If i > 630 Then
pLookupTable(i) = 630
Else
pLookupTable(i) = CShort(i)
End If
End If
i += 1
Loop
' Fill the LookupTableDescriptor object
LookupTableDescriptor.FirstStoredPixelValueMapped = 0
LookupTableDescriptor.EntryBits = 16
Dim command As ApplyVoiLookupTableCommand = New ApplyVoiLookupTableCommand(LookupTableDescriptor, pLookupTable, VoiLookupTableCommandFlags.None)
command.Run(image)
' Save result image
Dim codecs As RasterCodecs = New RasterCodecs()
codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24)
image.Dispose()
End Sub